package com.wzdigit.wms.hm.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.wzdigit.framework.orm.model.BasicDomain;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * <p>
 * 用于存放库区级别库存信息
 * </p>
 *
 * @author 
 * @since 2021-02-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("WMS_INV_ZONE")
@KeySequence(value = "WMS_INV_ZONE_SEQ", clazz = Integer.class)
public class InvZone extends BasicDomain {

    private static final long serialVersionUID = 1L;

    /**
     * 库位库存ID
     */
    @TableId(value = "INV_ZONE_ID",type = IdType.INPUT)
    private Integer invZoneId;

    /**
     * 库存地点
     */
    @TableField("ZONE_ID")
    private Integer zoneId;

    /**
     * 库存地点
     */
    @TableField("WHS_ID")
    private Integer whsId;

    /**
     * 货主，客户主数据中 客户类型=货主，取客户ID
     */
    @TableField("OWNER")
    private Integer owner;

    /**
     * 货品
     */
    @TableField("SKU_ID")
    private Integer skuId;

    /**
     * 工厂代码(组织)，如5500,5520
     */
    @TableField("FACTORY")
    private String factory;

    /**
     * 供应商IKEY
     */
    @TableField("VENDOR_ID")
    private Integer vendorId;

    /**
     * 批次号
     */
    @TableField("LOTNO")
    private String lotno;

    /**
     * 库存性质(特殊采购性质)，K为寄售 ,E为销售订单，空白为标准
     */
    @TableField("INV_ATTR")
    private String invAttr;

    /**
     * 品质状态
     */
    @TableField("QA_STATUS")
    private Integer qaStatus;

    /**
     * 数量
     */
    @TableField("QTY")
    private BigDecimal qty = BigDecimal.ZERO;

    /**
     * 单位
     */
    @TableField("UNIT")
    private String unit;

    /**
     * 预收数量
     */
    @TableField("PRE_IN_QTY")
    private BigDecimal preInQty = BigDecimal.ZERO;

    /**
     * 预支数量
     */
    @TableField("PRE_OUT_QTY")
    private BigDecimal preOutQty = BigDecimal.ZERO;

    /**
     * 冻结数量
     */
    @TableField("HOLD_QTY")
    private BigDecimal holdQty = BigDecimal.ZERO;

    /**
     * 预分配数量
     */
    @TableField("PRE_ALOC_QTY")
    private BigDecimal preAlocQty = BigDecimal.ZERO;

    /**
     * 分配数量
     */
    @TableField("ALOC_QTY")
    private BigDecimal alocQty = BigDecimal.ZERO;

    /**
     * 用户自定义字段1
     */
    @TableField("UDF1")
    private String udf1;

    /**
     * 用户自定义字段2
     */
    @TableField("UDF2")
    private String udf2;

    /**
     * 用户自定义字段3
     */
    @TableField("UDF3")
    private String udf3;

    /**
     * 用户自定义字段4
     */
    @TableField("UDF4")
    private String udf4;

    /**
     * 用户自定义字段5
     */
    @TableField("UDF5")
    private String udf5;

    /**
     * 备注
     */
    @TableField("COMMENTS")
    private String comments;

}
